package org.springblade.message.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.message.entity.Message;
import org.springblade.message.entity.MessageLog;
import org.springblade.message.params.MessageParams;
import org.springblade.message.vo.TopMessageVO;


/**
 * 消息详情表 服务类
 *
 * @author weikun
 * @since 2021-05-08
 */
public interface IMessageService extends BaseService<Message> {


	/**
	 * 查询顶部消息
	 * @return
	 */
	TopMessageVO selectTopMessage();


	/**
	 * 我接受的消息
	 *
	 * @param page
	 * @param message
	 * @return
	 */
	IPage<Message> selectMessagePage(IPage<Message> page, Message message);


	/**
	 * 我发送的消息
	 * @param page
	 * @param message
	 * @return
	 */
	IPage<MessageLog> selectMessageSendPage(IPage<MessageLog> page, MessageLog message);


	/**
	 * 发送消息
	 * @param messageLog 消息
	 * @return 是否成功
	 */
	Boolean sendMessage(MessageParams messageLog);


	/**
	 * 发送消息历史详情
	 * @param id 发送历史记录主键
	 * @return
	 */
	MessageLog getSendDetail(Long id);
}
